Video communications systems are continually being enhanced to meet requirements such as reduced cost, reduced size, improved quality of service, and increased data rate. The ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) have defined video coding standards known as ITU-T Recommendation H.264 and ISO/IEC MPEG-4 advanced video coding (H.264). The H.264 standards include functions such as spatial prediction, temporal prediction, transformation, interlaced coding, and loss-proof entropy coding.
Although many advanced processing techniques are available, the design of H.264 compliant video encoders and methods for encoding and decoding are not specified in the standards. Therefore, the optimization of the communication systems is left to the design of the video encoders and decoders.
In the data transmission using H.264 standards, data are transmitted in the form of bit-streams. The existing H.264 format lacks the mechanism for detecting errors and correcting the bit-streams from errors. For example, each H.264 bit-stream includes a header named as seq_parameter_set (SPS), which stores important parameters of the bit-stream. If an error occurs to the SPS, the entire bit-stream, which may include hundreds of image frames, may not be decoded correctly. In addition, other parameters such as pic_parameter_set (PPS) and macro block (MB) data all affect the decoding of images, although may be in different scales. However, due to the bit-stream format, if any error occurs, for example, a bit is lost or a bit is wrongfully inserted, the decoding of the entire bit-stream may fail. The decoder may have to wait for the next SPS or PPS before it can decode again. On the other hand, an error in the MB may be propagated to the remaining MBs in the same frame. What is needed, therefore, is an error detection and correction mechanism for overcoming the above-described shortcomings in the prior art.